<?php
/**
 * TOP API: alitrip.travel.gereralsku.update request
 * 
 * @author auto create
 * @since 1.0, 2018.10.22
 */
class AlitripTravelGereralskuUpdateRequest
{
	/** 
	 * sku销售属性别名；如套餐1 需要调整成其他 需要在这里修改
	 **/
	private $alias;
	
	/** 
	 * SKU的销售价格库存，日历商品使用
	 **/
	private $dateList;
	
	/** 
	 * 淘宝商品ID
	 **/
	private $itemId;
	
	/** 
	 * 商家编码
	 **/
	private $outerId;
	
	/** 
	 * Sku的销售价格，普通商品使用。精确到2位小数;单位:分。如:20007，表示:200元7分。修改后的sku价格要保证商品的价格在所有sku价格所形成的价格区间内（例如：商品价格为6元，sku价格有5元、10元两种，如果要修改5元sku的价格，那么修改的范围只能是0-6元之间；如果要修改10元的sku，那么修改的范围只能是6到无穷大的区间中）
	 **/
	private $price;
	
	/** 
	 * 商品属性列表；由类目的属性PID和VID组成，属性的pid调用taobao.itemprops.get取得，属性值的vid用taobao.itempropvalues.get取得vid。如果该类目下面没有属性，可以不用填写。如果有属性，必选属性必填，其他非必选属性可以选择不填写.属性不能超过35对
	 **/
	private $properties;
	
	/** 
	 * Sku的库存数量，普通商品使用。sku的总数量应该小于等于商品总数量(Item的NUM)，sku数量变化后item的总数量也会随着变化。取值范围:大于等于零的整数
	 **/
	private $quantity;
	
	private $apiParas = array();
	
	public function setAlias($alias)
	{
		$this->alias = $alias;
		$this->apiParas["alias"] = $alias;
	}

	public function getAlias()
	{
		return $this->alias;
	}

	public function setDateList($dateList)
	{
		$this->dateList = $dateList;
		$this->apiParas["date_list"] = $dateList;
	}

	public function getDateList()
	{
		return $this->dateList;
	}

	public function setItemId($itemId)
	{
		$this->itemId = $itemId;
		$this->apiParas["item_id"] = $itemId;
	}

	public function getItemId()
	{
		return $this->itemId;
	}

	public function setOuterId($outerId)
	{
		$this->outerId = $outerId;
		$this->apiParas["outer_id"] = $outerId;
	}

	public function getOuterId()
	{
		return $this->outerId;
	}

	public function setPrice($price)
	{
		$this->price = $price;
		$this->apiParas["price"] = $price;
	}

	public function getPrice()
	{
		return $this->price;
	}

	public function setProperties($properties)
	{
		$this->properties = $properties;
		$this->apiParas["properties"] = $properties;
	}

	public function getProperties()
	{
		return $this->properties;
	}

	public function setQuantity($quantity)
	{
		$this->quantity = $quantity;
		$this->apiParas["quantity"] = $quantity;
	}

	public function getQuantity()
	{
		return $this->quantity;
	}

	public function getApiMethodName()
	{
		return "alitrip.travel.gereralsku.update";
	}
	
	public function getApiParas()
	{
		return $this->apiParas;
	}
	
	public function check()
	{
		
		RequestCheckUtil::checkNotNull($this->itemId,"itemId");
		RequestCheckUtil::checkMinValue($this->itemId,1,"itemId");
		RequestCheckUtil::checkMinValue($this->price,0,"price");
	}
	
	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
